using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ITS.Core.Domain.PageContents;
using ITS.Core.Domain.Projects;

namespace ITS.Services.PageContents
{
    public interface IPageContentService
    {
        PageContentDescription GetPageContentDescriptionByNameInCurrentCulture(string strName);
        PageContentDescription GetPageContentDescriptionByID(int iID);
        PageContentDescription GetPageContentDescription(string strName, string culture);
        IQueryable<PageContentDescription> GetAllDescriptions();
        /// <summary>
        /// Return descriptions of page content with category = 1
        /// </summary>
        /// <returns></returns>
        IQueryable<PageContentDescription> GetDescriptionsByCategoryID(int ID);

        PageContentDescription GetDescriptionByID(int DescriptionID);

        void Save();

        IList<PageContent> GetAllPageContents();

        PageContent GetPageContentByID(int PageContentID);

        IList<PageContentDescription> GetDescriptionsByPageContentID(int PageContentID);

        IList<PageContentCategory> GetAllPageContentCategories();

        IList<PageContent> GetPageContentsByCategoryID(int CategoryID);
        IList<PageContentImage> GetPageContentImagesByPageContentID(int PageContentID);

        void AddPageContentImage(PageContentImage image, int PageContentID);

        PageContentImage GetPageContentImageByID(Guid ImageID);

        void DelelePageContentImage(Guid ImageID);
    }
}
